home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / pascal / o_gem / doku / source / kleines.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1994-09-22  |  2.2 KB  |  92 lines

  1. PROGRAM Kleines;
  2.  
  3. USES
  4.     OWindows,OTypes,ODialogs;
  5.     
  6. {$I KLEINES.I}
  7.     
  8. TYPE
  9.     TMyApplication =    OBJECT(TApplication)
  10.                             PROCEDURE InitInstance; VIRTUAL;
  11.                             PROCEDURE InitMainWindow; VIRTUAL;
  12.                         END;
  13.                         
  14.     PMyDialog =    ^TMyDialog;
  15.     TMyDialog =    OBJECT(TDialog)
  16.                     FUNCTION Ok : BOOLEAN; VIRTUAL;
  17.                     FUNCTION Cancel : BOOLEAN; VIRTUAL;
  18.                 END;
  19.     
  20. VAR
  21.     MyApplication : TMyApplication;
  22.     Buffer :    RECORD
  23.                     Kette : STRING[19];
  24.                     O1,O2 : INTEGER;
  25.                 END;    
  26.     
  27. PROCEDURE TMyApplication.InitInstance;
  28. BEGIN
  29.     LoadResource('KLEINES.RSC','');
  30.     INHERITED InitInstance;
  31. END;
  32.  
  33. PROCEDURE TMyApplication.InitMainWindow;
  34. VAR
  35.     p : PMyDialog;
  36. BEGIN
  37.     IF MainWindow = NIL THEN
  38.     BEGIN
  39.         p := NEW(PMyDialog,Init(NIL,'KLEINES Übungsprogramm',main_dial));
  40.         IF MainWindow <> NIL THEN
  41.         BEGIN
  42.             NEW(PButton,Init(p,md_ok,id_ok,TRUE,'Zeigt Eingaben in einer Alertbox an und beendet das Programm.'));
  43.             NEW(PButton,Init(p,md_cancel,id_cancel,TRUE,'Beendet Programm, ohne Daten Anzuzeigen.'));
  44.             NEW(PEdit,Init(p,md_edit,20,'Hier kann Text eingegeben werden.'));
  45.             NEW(PGroupBox,Init(p,md_option_box,'Optionen','In dieser Box befinden sich zwei RadioButtons'));
  46.             NEW(PRadioButton,Init(p,md_option1,TRUE,'Die erste Option'));
  47.             NEW(PRadioButton,Init(p,md_option2,TRUE,'Die zweite Option'));
  48.             p^.TransferBuffer := @Buffer;
  49.         END;
  50.     END;
  51.     IF MainWindow <> NIL THEN
  52.         MainWindow^.MakeWindow;
  53. END;
  54.  
  55. FUNCTION TMyDialog.Ok : BOOLEAN;
  56. VAR
  57.     Valid : BOOLEAN;
  58.     Ausgabe : STRING;
  59. BEGIN
  60.     Valid := INHERITED Ok;
  61.     IF Valid = TRUE THEN
  62.     BEGIN
  63.         Ausgabe := 'In die Editzeile wurde "'+Buffer.Kette+'" eingegeben. Es wurde der Radiobutton "';
  64.         IF Buffer.O1 = bf_checked THEN 
  65.             Ausgabe := Ausgabe+'1'
  66.         ELSE
  67.             Ausgabe := Ausgabe+'2';
  68.         Ausgabe := Ausgabe+'. Option" ausgewählt.';
  69.         Application^.Alert(NIL,1,0,Ausgabe,'&Ok');
  70.         Application^.Quit;
  71.         Ok := TRUE;
  72.     END
  73.     ELSE
  74.         Ok := FALSE;
  75. END;
  76.  
  77. FUNCTION TMyDialog.Cancel : BOOLEAN;
  78. BEGIN
  79.     IF Application^.Alert(NIL,2,2,'Wirklich Beenden?','&Abbruch|&Ok') = 2 THEN
  80.     BEGIN
  81.         Application^.Quit;
  82.         Cancel := TRUE;
  83.     END
  84.     ELSE
  85.         Cancel := FALSE;
  86. END;
  87.  
  88. BEGIN
  89.     MyApplication.Init('KLNS','Kleines');
  90.     MyApplication.Run;
  91.     MyApplication.Done;
  92. END.